package org.example.booksmanagementsystem.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Date;

@Data
public class BookInfo {

    private Integer id;
    private String bookName;
    private String author;
    private Integer count;

    //前端展示精度
    @JsonFormat(shape = JsonFormat.Shape.STRING )
    private BigDecimal price;
    private String publish;
    private Integer status; //1-可借阅，2-不可借阅 0-无效 3- 特价商品

    // 数据库中不存在的字段
    private String statusCN; // 可借阅，不可借阅 无效

    private Date createTime;
    private Date updateTime;

    public void setCreateTime() {
        // 1. 将 LocalDateTime 转换为 ZonedDateTime（带时区）
        ZonedDateTime zonedDateTime = LocalDateTime.now().atZone(ZoneId.systemDefault());
        // 2. 将 ZonedDateTime 转换为 Instant（时间戳）
        Instant instant = zonedDateTime.toInstant();
        // 3. 将 Instant 转换为 Date
        createTime = Date.from(instant);


    }
    public void setUpdateTime() {
        // 1. 将 LocalDateTime 转换为 ZonedDateTime（带时区）
        ZonedDateTime zonedDateTime = LocalDateTime.now().atZone(ZoneId.systemDefault());
        // 2. 将 ZonedDateTime 转换为 Instant（时间戳）
        Instant instant = zonedDateTime.toInstant();
        // 3. 将 Instant 转换为 Date
        updateTime = Date.from(instant);
    }

}
